import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
import axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  plugins: [createPersistedState()],
  state: {
    token: '',
    userinfo:{},  //在state中定义变量储存用户信息
  },
  getters: {
  },
  mutations: {
    getToken(state,value){
      state.token = value
      // 将token存储在本地存储上面 ,方便持久化
    },
    // 4.mutations中定义函数,接收用户信息
    updateUserinfo(state,info){
      state.userinfo = info
    }
  },
  actions: {
      // 2.actions函数发送请求,获取用户信息
   async updateUserinfo(context){
      const { data: res } = await axios.get('/my/userinfo')
      // console.log(res);
      // 3.将获取到的信息储存到vuex
      context.commit('updateUserinfo',res.data)
    }
  },
  modules: {
  }
})
